package com.young.core.dao;

import com.young.common.query.Pagination;
import com.young.common.query.Query;
import com.young.core.domain.ProjectDO;

import java.util.List;

/**
 *@project VKSchedule
 *@author yuhang.zhang
 *@create 2018/10/31
 *@desc 项目dao接口
 **/
public interface ProjectDao {

    /**
     * 新建项目
     * @param project
     */
    void insert(ProjectDO project);

    /**
     * 修改项目
     * @param project
     */
    int update(ProjectDO project);

    /**
     * 审批操作，将指定项目设定为是否支持审批
     * @param id
     * @param auditable
     */
    void audit(int id, boolean auditable);

    /**
     * 根据项目名搜索项目
     * @return
     */
    List<ProjectDO> search(String pattern);

    ProjectDO get(String name);

    ProjectDO get(int id);

    Pagination<ProjectDO> query(Query query);

    int delete(int id);

    int delete(String name);
}
